# -*- coding:utf-8 -*-
import logging
import os


class Logger:
    def __init__(self, filename):
        self.logger = logging.getLogger(filename)
        self.logger.setLevel(logging.DEBUG)

        # 创建一个handler，用于写入日志文件
        # 指定文件输出路径，注意logs是个文件夹，一定要加上/，不然会导致输出路径错误，把logs变成文件名的一部分了
        log_path = os.getcwd()

        # 指定输出的日志文件名
        log_name = log_path + '/ImageMagic.log'

        # 指定utf-8格式编码，避免输出的日志文本乱码
        fh = logging.FileHandler(log_name, encoding='utf-8')
        fh.setLevel(logging.DEBUG)

        # 创建一个handler，用于将日志输出到控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)

        # 定义handler的输出格式
        formatter = logging.Formatter('%(asctime)s——%(filename)s-%(levelname)s:\n %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 给logger添加handler
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)
